﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HidesaburoDotNET.Core.Detecctors
{
    public class IttsuDetector : YakuDetector
    {
        public override Yaku CheckYaku(AgariTehai agariTehai)
        {
            HaiType m1 = HaiType.None;
            HaiType m4 = HaiType.None;
            HaiType m7 = HaiType.None;
            bool Ittsu = false;

            foreach (Mentsu m in agariTehai.Mentsu)
            {
                if (m.Type == MentsuType.Syuntsu_A || m.Type == MentsuType.Syuntsu_M)
                {
                    if (m[0].Number == 1)
                    {
                        m1 = m[0].Type;
                    }
                    else if (m[0].Number == 4)
                    {
                        m4 = m[0].Type;
                    }
                    else if (m[0].Number == 7)
                    {
                        m7 = m[0].Type;
                    }
                }

                if (m1 != HaiType.None && m4 != HaiType.None && m7 != HaiType.None)
                {
                    if (m1 == m4 && m1 == m7)
                    {
                        Ittsu = true;
                        break;
                    }
                }
            }


            if (Ittsu)
            {
                if (agariTehai.Menzen)
                {
                    return new Yaku(2, "イッキツウカン");
                }
                else
                {
                    return new Yaku(1, "イッキツウカン");
                }
            }
            else
            {
                return new Yaku();
            }
        }
    }
}
